package net.cloudcodex.shared.dto.home;

import java.io.Serializable;
import java.util.List;

import net.cloudcodex.shared.dto.NotificationDTO;

/**
 * User informations for Home page.
 * 
 * @author Thomas
 */
public class HomeDTO implements Serializable {

	/**
	 * User nickname. if null, user is google authenticated but
	 * not registered.
	 */
	private String nickname;

	/**
	 * User's id.
	 */
	private long userId;
	
	/**
	 * Characters descriptions. may be null;
	 */
	private List<CharacterSummaryDTO> characters;

	/**
	 * Campaigns descriptions. may be null.
	 */
	private List<CampaignSummaryDTO> campaigns;

	/**
	 * user notifications. may be null.
	 */
	private List<NotificationDTO> userNotifications;

	/**
	 * general notifications. may be null.
	 */
	private List<NotificationDTO> notifications;

	/**
	 * @return the characters
	 */
	public List<CharacterSummaryDTO> getCharacters() {
		return characters;
	}

	/**
	 * @param characters the characters to set
	 */
	public void setCharacters(List<CharacterSummaryDTO> characters) {
		this.characters = characters;
	}

	/**
	 * @return the campaigns
	 */
	public List<CampaignSummaryDTO> getCampaigns() {
		return campaigns;
	}

	/**
	 * @param campaigns the campaigns to set
	 */
	public void setCampaigns(List<CampaignSummaryDTO> campaigns) {
		this.campaigns = campaigns;
	}

	/**
	 * @return the userNotifications
	 */
	public List<NotificationDTO> getUserNotifications() {
		return userNotifications;
	}

	/**
	 * @param userNotifications the userNotifications to set
	 */
	public void setUserNotifications(List<NotificationDTO> notifications) {
		this.userNotifications = notifications;
	}

	/**
	 * @return the nickname
	 */
	public String getNickname() {
		return nickname;
	}

	/**
	 * @param nickname the nickname to set
	 */
	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	/**
	 * @return the notifications
	 */
	public List<NotificationDTO> getNotifications() {
		return notifications;
	}

	/**
	 * @param notifications the notifications to set
	 */
	public void setNotifications(List<NotificationDTO> notifications) {
		this.notifications = notifications;
	}

	/**
	 * @return the userId
	 */
	public long getUserId() {
		return userId;
	}

	/**
	 * @param userId the userId to set
	 */
	public void setUserId(long userId) {
		this.userId = userId;
	}
}
